Existing smartphones are built on various mobile operating systems (Android, iOS, Windows Mobile, etc), with functionalities like media players, digital/video cameras, touch screens, web browsers, GPS navigation, and high-speed data access provided by Wi-Fi and wireless networks. A mobile operating system on a smartphone provides well-established application programming interfaces (APIs) and hundreds of thousands third-party applications can run on the smartphone, improving people's daily life.
Smartphones are also getting more powerful in terms of processing speed and computing capacity, which may enable advanced mobile processing. However, how to integrate advanced mobile processing into other technologies, such as sensing and networking technologies, is still under development.
The advanced mobile processing also enables the adaptation of virtualization technology into mobile space. However, existing solutions often focus on getting multiple instances of different or the same operating system images which are preconfigured running on the same mobile device. Switching between the instances of operating system images is controlled by user and is often a manual process, while mobile sensing development has been at application level, targeting specific applications within the same environment.
The disclosed methods and systems are directed to solve one or more problems set forth above and other problems.